/*
 * File:   HumanPlayer.h
 * Author: Elevator
 *
 * Created on 15 Июнь 2013 г., 19:58
 */

#ifndef HUMANPLAYER_H
#define HUMANPLAYER_H

#include "Common/Common.h"
#include "Core/Core.h"
#include "Logic/Creature/Creature.h"
#include "Logic/Player/IPlayer.h"

class HumanPlayer : public IPlayer, public core::IKeyboardListener, public core::IMouseListener
{
public:
	HumanPlayer( );
	HumanPlayer( Creature* creature );
	virtual ~HumanPlayer( );

	virtual Creature* GetCreature( ) const;
	virtual void SetCreature( Creature* creature );

	virtual void KeyPressed( core::KeyboardKey key );
	virtual void KeyReleased( core::KeyboardKey key );

	virtual void ButtonPressed( core::MouseButton button );
	virtual void ButtonReleased( core::MouseButton button );
	virtual void OnMove( Vec2 pos );
	virtual void OnWheel( int pos );

private:
	Creature* _creature;
};

#endif	/* HUMANPLAYER_H */

